home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC] / NeXTSTEP 3.3 Dev Intel.iso / NextDeveloper / Source / GNU / cctools / as / Makefile < prev    next >
Makefile  |  1994-09-15  |  11KB  |  309 lines

  1. #CFLAGS = -O -g -I$(SRCROOT) -I$(SRCROOT)/../include -Wall -Wno-precomp \
  2. #     -I$(OFILE_DIR)
  3. CFLAGS = -g -I$(SRCROOT) -I$(SRCROOT)/../include -Wall -Wno-precomp \
  4.      -I$(OFILE_DIR)
  5. LIBSTUFF = $(SYMROOT)/../../libstuff/libstuff.a
  6.  
  7. SRCROOT = .
  8. SYMROOT = .
  9. OBJROOT = .
  10. SYM_DIRS = $(SYMROOT)/driver_dir \
  11.        $(SYMROOT)/a68_dir \
  12.        $(SYMROOT)/a88_dir \
  13.        $(SYMROOT)/a386_dir \
  14.        $(SYMROOT)/a98_dir \
  15.        $(SYMROOT)/a860_dir \
  16.        $(SYMROOT)/ahppa_dir \
  17.        $(SYMROOT)/asparc_dir
  18.  
  19. OFILE_DIRS = $(OBJROOT)/driver_dir \
  20.          $(OBJROOT)/a68_dir \
  21.          $(OBJROOT)/a88_dir \
  22.          $(OBJROOT)/a386_dir \
  23.          $(OBJROOT)/a98_dir \
  24.          $(OBJROOT)/a860_dir \
  25.          $(OBJROOT)/ahppa_dir \
  26.          $(OBJROOT)/asparc_dir
  27.  
  28. BINDIR = /bin
  29. LIBDIR = /lib
  30. LOCLIBDIR = /usr/local/lib
  31. DSTDIRS = $(DSTROOT)$(BINDIR) \
  32.       $(DSTROOT)$(LIBDIR)/m68k \
  33.       $(DSTROOT)$(LIBDIR)/i386 \
  34.       $(DSTROOT)$(LIBDIR)/hppa \
  35.       $(DSTROOT)$(LIBDIR)/sparc \
  36.       $(DSTROOT)$(LOCLIBDIR)/m88k \
  37.       $(DSTROOT)$(LOCLIBDIR)/m98k \
  38.       $(DSTROOT)$(LOCLIBDIR)/i860
  39.  
  40. CFILES = app.c as.c atof-generic.c atof-ieee.c expr.c fixes.c flonum-const.c \
  41.      flonum-copy.c flonum-mult.c frags.c hash.c hex-value.c input-file.c \
  42.      input-scrub.c layout.c messages.c obstack.c read.c sections.c \
  43.      symbols.c write_object.c xmalloc.c
  44.  
  45. CFILES_m68k = m68k.c
  46. CFILES_m88k = m88k.c
  47. CFILES_i860 = i860.c
  48. CFILES_i386 = i386.c
  49. CFILES_m98k = m98k.c
  50. CFILES_hppa = hppa.c hppa-aux.c
  51. CFILES_sparc = sparc.c
  52.  
  53.  
  54. HFILES = app.h as.h atof-ieee.h bignum.h expr.h fixes.h flonum.h frags.h \
  55.      hash.h hex_value.h i386-opcode.h i386.h i860-opcode.h input-file.h \
  56.      input-scrub.h layout.h m68k-opcode.h m88k-opcode.h m98k-opcode.h md.h \
  57.      messages.h obstack.h read.h relax.h sections.h struc-symbol.h \
  58.      symbols.h write_object.h xmalloc.h hppa-aux.h hppa-opcode.h \
  59.      sparc-opcode.h
  60.  
  61. CHECK_FILES = m68k-check.c m88k-check.c i860-check.c i386-check.c m98k-check.c \
  62.           hppa-check.c sparc-check.c
  63.  
  64. INSTALL_FILES = Makefile notes $(CFILES) $(CFILES_m68k) $(CFILES_m88k) \
  65.         $(CFILES_i860) $(CFILES_i386) $(CFILES_m98k) $(CFILES_hppa) \
  66.         $(CFILES_sparc) $(HFILES) $(CHECK_FILES) driver.c as.api \
  67.         make.defs make_defs.h
  68.  
  69. OBJS = $(CFILES:.c=.o) next_version.o
  70. OBJS_m68k = $(CFILES_m68k:.c=.o)
  71. OBJS_m88k = $(CFILES_m88k:.c=.o)
  72. OBJS_i860 = $(CFILES_i860:.c=.o)
  73. OBJS_i386 = $(CFILES_i386:.c=.o)
  74. OBJS_m98k = $(CFILES_m98k:.c=.o)
  75. OBJS_hppa = $(CFILES_hppa:.c=.o)
  76. OBJS_sparc = $(CFILES_sparc:.c=.o)
  77.  
  78. all:    $(OFILE_DIRS) $(SYM_DIRS) driver_build a68_build a88_build a386_build \
  79.     a860_build a98_build ahppa_build asparc_build
  80.  
  81. all_test:    a68_test a88_test a860_test a386_test a98_test ahppa_test
  82.  
  83. driver_build:    $(OBJROOT)/driver_dir
  84.     @if [ $(SRCROOT) = . ];                        \
  85.     then                                \
  86.         cd driver_dir;  $(MAKE) -f ../Makefile driver VPATH=..    \
  87.         OFILE_DIR=. CFLAGS="-Wall -g -O -I../../include -Wno-precomp" \
  88.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  89.     else                                \
  90.         cd $(OBJROOT)/driver_dir; $(MAKE) -f $(SRCROOT)/Makefile    \
  91.         driver VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/driver_dir \
  92.         SYMROOT=$(SYMROOT)/driver_dir SRCROOT=$(SRCROOT)    \
  93.         CFLAGS="-Wall -g -O -I$(SRCROOT)/../include -Wno-precomp" \
  94.         RC_FLAGS="$(RC_CFLAGS)" DEP_DIR=driver_dir;        \
  95.     fi
  96.  
  97. a68_build:    $(OBJROOT)/a68_dir
  98.     @if [ $(SRCROOT) = . ];                        \
  99.     then                                \
  100.         cd a68_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  101.         SRCROOT=.. TARGET_OBJS="$(OBJS_m68k)" DEP_DIR=a68_dir    \
  102.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DM68K -DBUILTIN_MMUS";    \
  103.     else                                \
  104.         cd $(OBJROOT)/a68_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  105.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a68_dir        \
  106.         SYMROOT=$(SYMROOT)/a68_dir SRCROOT=$(SRCROOT)        \
  107.         TARGET_OBJS="$(OBJS_m68k)" COPTS="-DM68K -DBUILTIN_MMUS" \
  108.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a68_dir;        \
  109.     fi
  110.  
  111. a68_test: a68_dir
  112.     cd a68_dir; $(MAKE) -f ../Makefile m68k-check VPATH=.. OFILE_DIR=. \
  113.         SRCROOT=.. COPTS="-DM68K -DBUILTIN_MMUS"
  114.     cd a68_dir; $(MAKE) -f ../Makefile test
  115.  
  116. a88_build:    $(OBJROOT)/a88_dir
  117.     @if [ $(SRCROOT) = . ];                        \
  118.     then                                \
  119.         cd a88_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  120.         SRCROOT=.. TARGET_OBJS="$(OBJS_m88k)" DEP_DIR=a88_dir    \
  121.         COPTS="-DM88K -Dm88110" RCFLAGS=$(RCFLAGS);        \
  122.     else                                \
  123.         cd $(OBJROOT)/a88_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  124.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a88_dir        \
  125.         SYMROOT=$(SYMROOT)/a88_dir SRCROOT=$(SRCROOT)        \
  126.         TARGET_OBJS="$(OBJS_m88k)" COPTS="-DM88K -Dm88110"    \
  127.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a88_dir;        \
  128.     fi
  129.  
  130. a88_test: a88_dir
  131.     cd a88_dir; $(MAKE) -f ../Makefile m88k-check VPATH=.. OFILE_DIR=. \
  132.         SRCROOT=.. COPTS="-DM88K -Dm88110"
  133.     cd a88_dir; $(MAKE) -f ../Makefile test
  134.  
  135. a386_build:    $(OBJROOT)/a386_dir
  136.     @if [ $(SRCROOT) = . ];                        \
  137.     then                                \
  138.         cd a386_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  139.         SRCROOT=.. TARGET_OBJS="$(OBJS_i386)" DEP_DIR=a386_dir    \
  140.         COPTS="-DI386 -Di486 -Di586" RC_CFLAGS="$(RC_CFLAGS)";    \
  141.     else                                \
  142.         cd $(OBJROOT)/a386_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  143.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a386_dir        \
  144.         SYMROOT=$(SYMROOT)/a386_dir SRCROOT=$(SRCROOT)        \
  145.         TARGET_OBJS="$(OBJS_i386)" COPTS="-DI386 -Di486 -Di586"    \
  146.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a386_dir;        \
  147.     fi
  148.  
  149. a386_test: a386_dir
  150.     cd a386_dir; $(MAKE) -f ../Makefile i386-check VPATH=.. OFILE_DIR=. \
  151.         SRCROOT=.. COPTS="-DI386 -Di486 -Di586"
  152.     cd a386_dir; $(MAKE) -f ../Makefile test
  153.  
  154. a860_build:    $(OBJROOT)/a860_dir
  155.     @if [ $(SRCROOT) = . ];                        \
  156.     then                                \
  157.         cd a860_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  158.         SRCROOT=.. TARGET_OBJS="$(OBJS_i860)" DEP_DIR=a860_dir    \
  159.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DI860";        \
  160.     else                                \
  161.         cd $(OBJROOT)/a860_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  162.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a860_dir        \
  163.         SYMROOT=$(SYMROOT)/a860_dir SRCROOT=$(SRCROOT)        \
  164.         TARGET_OBJS="$(OBJS_i860)" COPTS="-DI860"        \
  165.         RC_CFLAGS="$(RC_CFLAGS)"  DEP_DIR=a860_dir;        \
  166.     fi
  167.  
  168. a860_test: a860_dir
  169.     cd a860_dir; $(MAKE) -f ../Makefile i860-check VPATH=.. OFILE_DIR=. \
  170.         SRCROOT=.. COPTS="-DI860"
  171.     cd a860_dir; $(MAKE) -f ../Makefile test ASFLAGS=-W
  172.  
  173. a98_build:    $(OBJROOT)/a98_dir
  174.     @if [ $(SRCROOT) = . ];                        \
  175.     then                                \
  176.         cd a98_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.    \
  177.         SRCROOT=.. TARGET_OBJS="$(OBJS_m98k)" DEP_DIR=a98_dir    \
  178.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DM98K";        \
  179.     else                                \
  180.         cd $(OBJROOT)/a98_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  181.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/a98_dir        \
  182.         SYMROOT=$(SYMROOT)/a98_dir SRCROOT=$(SRCROOT)        \
  183.         TARGET_OBJS="$(OBJS_m98k)" COPTS="-DM98K"        \
  184.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=a98_dir;        \
  185.     fi
  186.  
  187. a98_test: a98_dir
  188.     cd a98_dir; $(MAKE) -f ../Makefile m98k-check VPATH=.. OFILE_DIR=. \
  189.         SRCROOT=.. COPTS="-DM98K"
  190.     cd a98_dir; $(MAKE) -f ../Makefile test
  191.  
  192. ahppa_build:    $(OBJROOT)/ahppa_dir
  193.     @if [ $(SRCROOT) = . ];                        \
  194.     then                                \
  195.         cd ahppa_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.\
  196.         SRCROOT=.. TARGET_OBJS="$(OBJS_hppa)" DEP_DIR=ahppa_dir    \
  197.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DHPPA";        \
  198.     else                                \
  199.         cd $(OBJROOT)/ahppa_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  200.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/ahppa_dir        \
  201.         SYMROOT=$(SYMROOT)/ahppa_dir SRCROOT=$(SRCROOT)        \
  202.         TARGET_OBJS="$(OBJS_hppa)" COPTS="-DHPPA"        \
  203.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=ahppa_dir;        \
  204.     fi
  205.  
  206. ahppa_test: ahppa_dir
  207.     cd ahppa_dir; $(MAKE) -f ../Makefile hppa-check VPATH=.. OFILE_DIR=. \
  208.         SRCROOT=.. COPTS="-DHPPA"
  209.     cd ahppa_dir; $(MAKE) -f ../Makefile test
  210.  
  211. asparc_build:    $(OBJROOT)/asparc_dir
  212.     @if [ $(SRCROOT) = . ];                        \
  213.     then                                \
  214.         cd asparc_dir; $(MAKE) -f ../Makefile as VPATH=.. OFILE_DIR=.\
  215.         SRCROOT=.. TARGET_OBJS="$(OBJS_sparc)" DEP_DIR=asparc_dir\
  216.         RC_CFLAGS="$(RC_CFLAGS)" COPTS="-DSPARC";        \
  217.     else                                \
  218.         cd $(OBJROOT)/asparc_dir; $(MAKE) -f $(SRCROOT)/Makefile as    \
  219.         VPATH=$(SRCROOT) OFILE_DIR=$(OBJROOT)/asparc_dir    \
  220.         SYMROOT=$(SYMROOT)/asparc_dir SRCROOT=$(SRCROOT)    \
  221.         TARGET_OBJS="$(OBJS_sparc)" COPTS="-DSPARC"        \
  222.         RC_CFLAGS="$(RC_CFLAGS)" DEP_DIR=asparc_dir;        \
  223.     fi
  224.  
  225. asparc_test: asparc_dir
  226.     cd asparc_dir; $(MAKE) -f ../Makefile sparc-check VPATH=.. \
  227.         OFILE_DIR=. SRCROOT=.. COPTS="-DSPARC"
  228.     cd asparc_dir; $(MAKE) -f ../Makefile test
  229.  
  230. driver:    driver.o next_version.o
  231.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/driver \
  232.         $(OFILE_DIR)/driver.o $(OFILE_DIR)/next_version.o $(LIBSTUFF)
  233.  
  234. as:    $(OBJS) $(TARGET_OBJS) makeUser.o
  235.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -nostdlib -r \
  236.         -o $(SYMROOT)/as.nmedit.o $(OBJS) $(TARGET_OBJS) \
  237.         makeUser.o $(LIBSTUFF)
  238.     nmedit -arch all -s $(SRCROOT)/as.api $(SYMROOT)/as.nmedit.o
  239.     $(CC) $(CFLAGS) $(RC_CFLAGS) -o $(SYMROOT)/as $(SYMROOT)/as.nmedit.o
  240.  
  241. makeUser.c messages.c: make.h
  242.  
  243. make.h makeUser.c: make.defs
  244.     mig $(SRCROOT)/make.defs
  245.     rm -f makeServer.c
  246.  
  247. m68k-check:
  248.     $(CC) $(COPTS) $(CFLAGS) -o check ../m68k-check.c
  249.  
  250. m88k-check:
  251.     $(CC) $(COPTS) $(CFLAGS) -o check ../m88k-check.c
  252.  
  253. i386-check:
  254.     $(CC) $(COPTS) $(CFLAGS) -o check ../i386-check.c
  255.  
  256. i860-check:
  257.     $(CC) $(COPTS) $(CFLAGS) -o check ../i860-check.c
  258.  
  259. m98k-check:
  260.     $(CC) $(COPTS) $(CFLAGS) -o check ../m98k-check.c
  261.  
  262. hppa-check:
  263.     $(CC) $(COPTS) $(CFLAGS) -o check ../hppa-check.c
  264.  
  265. sparc-check:
  266.     $(CC) $(COPTS) $(CFLAGS) -o check ../sparc-check.c
  267.  
  268. test:
  269.     ./check > check.s
  270.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check.o check.s
  271.     otool -X -tV check.o > check1.s
  272.     ./as -force_cpusubtype_ALL $(ASFLAGS) -o check1.o check1.s
  273.     otool -X -tV check1.o > check2.s
  274.     diff check1.s check2.s > check.out
  275.     cmp check.o check1.o
  276.  
  277. next_version.c:
  278.     echo "const char next_version[]= " \"`vers_string -f cctools`\" ";" > \
  279.         $(OFILE_DIR)/$@
  280.  
  281. .c.o:
  282.     $(CC) $(COPTS) $(CFLAGS) $(RC_CFLAGS) -c -MD \
  283.         -dependency-file $(OFILE_DIR)/$*.d -o $(OFILE_DIR)/$*.o $*.c
  284.     md -d -u $(OFILE_DIR)/Makedep $(OFILE_DIR)/$*.d
  285.  
  286. clean shlib_clean:
  287.     -rm -r -f $(OFILE_DIRS) make.out
  288.  
  289. installsrc installGNUsrc:
  290.     mkdirs $(SRCROOT)
  291.     chmod 755 $(SRCROOT)
  292.     tar cf - $(INSTALL_FILES) | (cd $(SRCROOT); tar xf -)
  293.     chmod 444 $(SRCROOT)/*
  294.  
  295. install: all $(DSTDIRS)
  296.     install -s -m 555 $(SYMROOT)/driver_dir/driver $(DSTROOT)$(BINDIR)/as
  297.     install -s -m 555 $(SYMROOT)/a68_dir/as $(DSTROOT)$(LIBDIR)/m68k/as
  298.     install -s -m 555 $(SYMROOT)/a386_dir/as $(DSTROOT)$(LIBDIR)/i386/as
  299.     install -s -m 555 $(SYMROOT)/ahppa_dir/as $(DSTROOT)$(LIBDIR)/hppa/as
  300.     install -s -m 555 $(SYMROOT)/asparc_dir/as $(DSTROOT)$(LIBDIR)/sparc/as
  301.     install -s -m 555 $(SYMROOT)/a88_dir/as $(DSTROOT)$(LOCLIBDIR)/m88k/as
  302.     install -s -m 555 $(SYMROOT)/a98_dir/as $(DSTROOT)$(LOCLIBDIR)/m98k/as
  303.     install -s -m 555 $(SYMROOT)/a860_dir/as $(DSTROOT)$(LOCLIBDIR)/i860/as
  304.  
  305. $(OFILE_DIRS) $(SYM_DIRS) $(DSTDIRS):
  306.     mkdirs $@
  307.  
  308. -include $(DEP_DIR)/Makedep
  309.